package com.getword.service;

import com.getword.domain.Course;
import com.getword.web.model.Result;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Pageable;


public interface CourseService {
    /**
     * 添加课程
     */
    Result addCourse(Course course);
    /**
     * 课程模糊搜索
     */
    Result getCourseByName(String key);

    /**
     * 课程模糊搜索
     */
    Result getCourseByNameAndGrade(String key, Long gradeId);

    /**
     * 根据年级查询课程
     */
    @Cacheable("demo")
    Result getCoursesByGradeId(Long gradeId);

    /**
     * 查询课程数量
     * @param course
     * @return
     */
    Result getCount(Course course);

    /**
     * 分页查询课程{}
     * @param course
     * @return
     */
    Result getCourses(Pageable pageable, Course course);

    /**
     * 修改课程信息
     * @param course
     * @return
     */
    Result updateCourse(Course course);
}
